package com.xbongbong.paas.statistics.pojo.vo;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;

/**
 * 创建时间： 2018/9/17 20:56
 * 修改时间： 2018/9/17 20:56 梁鲁江
 *
 * @author 梁鲁江
 */
@Setter
@Getter
@ToString
public class AggRuleGetVO implements Serializable{

    private static final long serialVersionUID = 6929457636867648829L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 应用id
     */
    private Long appId;
    /**
     * 菜单id
     */
    private Long menuId;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 标题
     */
    private String name;
    /**
     * 报表类型，1为数据表，2为汇总表（图形类待定?）
     */
    private Integer type;
    /**
     * 权限细则
     */
    private String permission;
    /**
     * 表头冻结
     */
    private Integer frozenAttr;
    /**
     * 联动 （关联的报表id）
     */
    private Long linkId;
    /**
     * 数据来源 （关联表单）
     */
    private String relateId;
    /**
     * 创建者id
     */
    private String creatorId;
    /**
     * 创建时间时间戳
     */
    private Long addTime;
    /**
     * 更新时间时间戳
     */
    private Long updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    /**
     * 列表头
     */
    private JSONArray colTitle;
    /**
     * 行表头
     */
    private JSONArray rowTitle;
    /**
     * 指标
     */
    private JSONArray sumAttr;

    /**
     * 多表关联字段（可为空）
     */
    private JSONArray relateAttr;
    /**
     * 筛选条件
     */
    private JSONArray filterAttr;

    /**
     * 位置信息
     */
    private JSONObject position;

    public void setColTitle(String colTitle) {
        this.colTitle = JSONArray.parseArray(colTitle);
    }

    public void setRowTitle(String rowTitle) {
        this.rowTitle = JSONArray.parseArray(rowTitle);
    }

    public void setSumAttr(String sumAttr) {
        this.sumAttr = JSONArray.parseArray(sumAttr);
    }

    public void setRelateAttr(String relateAttr) {
        this.relateAttr = JSONArray.parseArray(relateAttr);
    }

    public void setFilterAttr(String filterAttr) {
        this.filterAttr = JSONArray.parseArray(filterAttr);
    }

    public void setPosition(String position) {
        this.position = JSONObject.parseObject(position);
    }
}
